package com.yuanss.backenddemo.controller;

import com.yuanss.backenddemo.utils.JWTUtils;
import com.yuanss.backenddemo.common.R;
import com.yuanss.backenddemo.entity.dto.LogInResultDto;
import com.yuanss.backenddemo.entity.dto.LoginDto;
import com.yuanss.backenddemo.service.SysUserService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;

/**
 * @author yuanss
 * @version 1.0
 * @description 登录api
 * @date 2024/6/12 20:55:52
 */
@RestController
public class LogInController {

    @Resource
    private SysUserService sysUserService;

    /**
     * 登录
     * @param loginDto  登陆表单
     * @return  token
     */
    @PostMapping("/login")
    public R login(@RequestBody LoginDto loginDto) {
        // 验证用户名和密码
        LogInResultDto resultDto = sysUserService.verify(loginDto);
        if(!resultDto.getResult()){
            return R.error(resultDto.getMsg());
        }
        // 生成JWT的令牌
        String token = JWTUtils.createToken(loginDto.getUsername(), loginDto.getPassword());
        return R.success("登陆成功",token);
    }
}
